﻿#ifndef W_FIELDPROBE_H
#define W_FIELDPROBE_H

#include "stdafx1.h"

#include "Source/Utils/WidgetForm/DialogBase/W_DialogBase.h"
#include "ui_W_FieldProbe.h"
#include "C_FieldProbe.h"

/*
-----==========================================================-----
		类：		场强探头 窗口类.h
		作者：		drill_up
		所属模块：	场强探头模块
		功能：		场强探头模块的窗口类对象
-----==========================================================-----
*/
class W_FieldProbe : public W_DialogBase
{
	Q_OBJECT

	public:
		W_FieldProbe(QWidget *parent = nullptr);
		~W_FieldProbe();

	//-----------------------------------
	//----控件
	public:
							//控件 - 生成name
		void onRefreshNameToUi();
							//控件 - 点击勾选
		void onRefreshCheckToData(int);
							//控件 - 点击单选
		void onRefreshRadioToData(int);
							//控件 - 设置点
		void setDataPoint(QList<double> p1);

	//-----------------------------------
	//----模型
	protected:
		QString m_model_idx;
		QString m_model_idy;
		QString m_model_idz;
		bool m_slotBlock_model;
	public:
							//模型 - 刷新模型
		void refreshModel();
							//模型 - 删除模型
		void clearModel();

	//-----------------------------------
	//----窗口
	public:
		bool isAddMode;
		C_FieldProbe m_FieldProbe;
	public:
							//窗口 - 设置数据（添加）
		void setDataInAddMode();
							//窗口 - 设置数据（修改）
		void setDataInModifyMode(C_FieldProbe p);
							//窗口 - 取出数据
		C_FieldProbe getData();
							//窗口 - 本地数据 -> ui数据
		void putDataToUi();
							//窗口 - ui数据 -> 本地数据
		void putUiToData();

	public slots:
							//窗口 - 提交数据（校验）
		void base_acceptData() override;
							//窗口 - 取消数据
		void base_rejectData() override;
							//窗口 - 关闭事件
		void closeEvent(QCloseEvent *e) override;

	signals:
		void acceptDataSignal(bool isAddMode, C_FieldProbe data);

	//-----------------------------------
	//----UI
	public:
		Ui::W_FieldProbe *getUI();
	private:
		Ui::W_FieldProbe *ui;
		QButtonGroup * m_ButtonGroup = nullptr;
};

#endif // W_FIELDPROBE_H

